/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pckTaxe;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Vector;

/**
 *
 * @author Portable-Maison
 */
public class IniFile implements Serializable {

    private static transient String gsFileName = "data.ini";
    private transient String gsSeparateur = "=";
    private static Vector gaListeInformation = new Vector();
    private static Vector gaListeValeur = new Vector();

    public IniFile()
    {
    }

    public void resetVecteur()
    {
        gaListeInformation = null;
        gaListeValeur = null;
    }

    public static void lectureFichier()
    {
    try
        {
          FileInputStream laFichier = new FileInputStream (gsFileName);
          ObjectInputStream laLit = new ObjectInputStream (laFichier);
          Vector laVecteur = (Vector)laLit.readObject();
          laLit.close ();
          // Lecture
          gaListeInformation = ((Vector)laVecteur.elementAt (0));
          gaListeValeur      = ((Vector)laVecteur.elementAt (1));
        }
    catch (Exception laException)
        {
        System.out.print ("Erreur lecture du fichier - " + laException.toString());
        }
    }

    public static void enregistrerFichier()
    {
    try
    {
      Vector laVecteur = new Vector();
      laVecteur.add (gaListeInformation);
      laVecteur.add (gaListeValeur);

      FileOutputStream laFichier = new FileOutputStream (gsFileName);
      ObjectOutputStream laEcrit = new ObjectOutputStream (laFichier);
      // Écriture de l'objet
      laEcrit.writeObject (laVecteur);
      laEcrit.close ();
    }
    catch (Exception laException)
        {
      System.out.print ("Erreur Enregistrement du fichier - " + laException.toString());
        }
    }

    public static int getSize()
    {
        return gaListeInformation.size ();
    }

    public static String getNomSection(int piIndex)
    {
        return ((String)gaListeInformation.elementAt (piIndex));
    }

    public static String getValeurSection(int piIndex)
    {
        return ((String)gaListeValeur.elementAt (piIndex));
    }
    
    public String[] SeparerLigne(String psLigne)
    {
        return psLigne.split (gsSeparateur, 0);
    }

    public static void ajouterInstance(String psName, String psValeur)
    {
        gaListeInformation.add (psName);
        gaListeValeur.add (psValeur);
    }
    

    
}
